<template functional>
  <div class="rowItem">
     <li :class="['MusicItem',props.circle]" @click="props.clickhandler(props.item.userId)">
        <p>
          <img :src="props.item.picUrl" alt="">
        </p>
        <a class="title">{{props.item.name}}</a>
        <div class="info">
          <p>{{props.item.copywriter}}</p>
        </div>
        <slot v-show="isShow"></slot>
        <p class="shadow">
          <img :src="props.item.picUrl" alt="">
        </p>
      </li>
  </div>
</template>

<style lang="scss" scoped>
p{
  img {
      border-radius: .75em;
      user-select: none;
      aspect-ratio: 1/1;
      width: 100%;
      height: 100%;
      position: relative;
      transition: transform .3s;
  }
}
.rowItem{
  cursor: pointer;
  position: relative;
  transition: transform .3s;
  li{
    position: relative;
    width: 223px;
    top: 0;
    height: calc(100% - 3px);
    background: transparent;
    >p:nth-of-type(1){
      margin-bottom: 8px;
    }
    .title{
      font-weight: 600;
      line-height: 20px;
      word-break: break-all;
    }
    &.circle{
      width:182px;
      border-radius:50%;
      >p:nth-of-type(1){
        height:182px;
      }
      .title{
        width:182px;
        display: inline-block;
        text-align: center;
      }
      img{
        height:182px;
        border-radius:50%;
      }
    }
  }
}
a{
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.info{
  font-size: 12px;
  opacity: .68;
  line-height: 18px;
  word-break: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.shadow{
  opacity:0;
  img{
    position: absolute;
    top:-20px;
    height: 100%;
    width: 100%;
    filter: blur(20px) opacity(0.6);
    transform: scale(.92,.68);
    z-index: -1;
    background-size: cover;
    border-radius: .75em;
    aspect-ratio: 1/1;
  }
}
a:hover{
  text-decoration: underline;
}
li:hover .shadow{
  opacity:1;
}
</style>
